home *** CD-ROM | disk | FTP | other *** search
- * duprec.sig 08/18/83
- * this module displays duplicate records with the same last names
- * and gives enough information to evaluate them. Note if you
- * use the edit function the 'edited' information will appear in
- * the main file but will not appear on the duplicate record screen.
- * this is because we are saving what we see here to a temporary file
- * while we edit.
- SKIP -1
- STORE order TO order1
- STORE lname TO lname1
- STORE fname TO fname1
- STORE city TO city1
- STORE zip TO zip1
- STORE vol1 TO vol11
- IF *
- STORE 'Deleted' TO deleted1
- ELSE
- STORE ' ' TO deleted1
- ENDIF *
- SKIP
- STORE order TO order2
- STORE lname TO lname2
- STORE fname TO fname2
- STORE city TO city2
- STORE zip TO zip2
- STORE vol1 TO vol12
- IF *
- STORE 'Deleted' TO deleted2
- ELSE
- STORE ' ' TO deleted2
- ENDIF *
- STORE t TO more
- DO WHILE more
- * set up the screen format and variables
- ERASE
- STORE '<C>ontinue, <D>elete/Recall, <E>dit, <P>rint, <Q>uit' TO prompt
- STORE 'Records with duplicate last names' TO mode
- STORE '?' TO command
- STORE '?' TO record
- * show both records and find out what to do next
- @ 01,27 SAY mode
- @ 02,00 SAY '+--------------------'
- @ 02,20 SAY '---------------------'
- @ 02,40 SAY '---------------------'
- @ 02,60 SAY '-------------------+'
- @ 03,00 SAY 'Lastname: '
- @ 03,12 SAY lname1
- @ 03,40 SAY 'First: '
- @ 03,49 SAY fname1
- @ 05,00 SAY 'City: '
- @ 05,20 SAY city1
- @ 05,50 SAY 'Zip: '
- @ 05,55 say zip1
- @ 06,00 SAY 'Volumes:'
- @ 06,10 SAY vol11
- @ 08,00 SAY 'ORDER NUMBER: '
- @ 08,17 SAY order1
- @ 08,50 SAY deleted1
- @ 09,00 SAY '+--------------------'
- @ 09,20 SAY '---------------> > > '
- @ 09,40 SAY 'RECORD-A < < <-------'
- @ 09,60 SAY '-------------------+'
- @ 11,00 SAY 'Lastname: '
- @ 11,12 SAY lname2
- @ 11,40 SAY 'First: '
- @ 11,49 SAY fname2
- @ 13,00 SAY 'City: '
- @ 13,20 SAY city2
- @ 13,50 SAY 'Zip: '
- @ 13,55 SAY zip2
- @ 14,00 SAY 'Volumes: '
- @ 14,10 SAY vol12
- @ 16,00 SAY 'ORDER NUMBER: '
- @ 16,17 SAY order2
- @ 16,50 SAY deleted2
- @ 17,00 SAY '+--------------------'
- @ 17,20 SAY '---------------> > > '
- @ 17,40 SAY 'RECORD-B < < <-------'
- @ 17,60 SAY '-------------------+'
- @ 18,17 SAY prompt
- @ 19,24 SAY 'What next?'
- @ 19,35 GET command picture '!'
- READ
- * If Delete, Edit or Print - ask question
- IF command = 'D' .OR. command = 'E' .OR. command = 'P'
- * move up a line
- ?? CHR(11)
- ?? ' Which Record ?'
- SET CONSOLE OFF
- WAIT TO record
- SET CONSOLE on
- STORE !(record) TO record
- ?? record
- ENDIF command = D
- * move to the record to be processed
- IF record = 'A'
- SKIP -1
- ENDIF record = a
- *process the record
- DO CASE
- CASE command = 'C' .OR. command = 'Q'
- * set up the loop to exit
- STORE f to more
- CASE command = 'D'
- IF *
- RECALL
- ELSE
- DELETE
- ENDIF *
- IF record = 'A'
- IF deleted1 = 'Deleted'
- STORE ' ' TO deleted1
- ELSE
- STORE 'Deleted' TO deleted1
- ENDIF deleted1
- ENDIF record = A
- IF record <> 'A'
- IF deleted2 = 'Deleted'
- STORE ' ' TO deleted2
- ELSE
- STORE 'Deleted' TO deleted2
- ENDIF deleted2
- ENDIF record <> A
- CASE command = 'E'
- SAVE TO temp2
- RELEASE ALL
- RESTORE FROM temp1
- * don't use indexs to speed up the edit
- ? 'Hit RETURN to Continue'
- SET CONSOLE OFF
- RESTORE
- STORE # TO rec:number
- SET INDEX TO
- IF rec:number = 0
- GOTO 1
- ELSE
- GOTO rec:number
- ENDIF rec:number = 0
- SET CONSOLE ON
- DO edit.sig
- SAVE TO temp1
- RELEASE ALL
- RESTORE FROM temp2
- CASE command = 'P'
- DO print.sig
- ENDCASE
- * move back to the correct record
- IF record = 'A'
- SKIP
- ENDIF record = A
- * loop back again
- ENDDO while more
- * if more duplicates are to be found
- * set up the loop to continue in DUPCHECK.SIG
- IF command = 'C'
- STORE t TO more
- ENDIF command = C